package com.hncc.kumao.entity;

import java.util.Date;

import com.alibaba.fastjson.JSONObject;

/**
 * 实体类
 * @author chen
 */
public class OfflineDownloadTask {
	private String id;//离线下载任务编号
	private String userId;//创建下载任务的用户id
	//private String targetNetdiskAccessTokenId;//目标网盘访问令牌编号
	private NetdiskAccessToken netdiskAccessToken;//目标网盘
	private String fileUri;//要下载的文件在网盘中的路径，路径从根路径开始，包含文件名。
	private String fileSize;//文件大小，单位为 B
	private String currentSize;//当前进度
	private String fileSavePath;//文件在服务器上存储的路径，路径包含文件名。
	private JSONObject fileInfo;//文件其他信息，以json格式存储
	private String fileInfoString;//文件其他信息，以json格式存储(json字符串)
	private String fileDownloadUrl;//任务完成后生成此字段值，客户端通过此链接下载文件。
	private Integer state;//任务状态 0 表示新建，正在等待下载、1 表示进行中、2 表示完成、3 表示取消、4 表示正在等待重新连接、5 表示失败、6 表示完成且服务器上存储的文件也已经删除（此时不能从服务器下载文件）、7 表示任务已删除。
	private Date createTime;//任务创建时间
	private Date startTime;//任务开始时间
	private Date endTime;//任务结束或失败时间
	private Integer isTransfer;//文件下载完成后，是否转存到其它网盘，0 表示不转存，1 表示转存。
    public String getId() {
        return id;
    }
    public String getUserId() {
        return userId;
    }
    /*public String getTargetNetdiskAccessTokenId() {
        return targetNetdiskAccessTokenId;
    }*/
    public String getFileUri() {
        return fileUri;
    }
    public String getFileSize() {
        return fileSize;
    }
    public String getFileSavePath() {
        return fileSavePath;
    }
    public JSONObject getFileInfo() {
        return fileInfo;
    }
    public String getFileInfoString() {
        return fileInfoString;
    }
    public String getFileDownloadUrl() {
        return fileDownloadUrl;
    }
    public Integer getState() {
        return state;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public Date getStartTime() {
        return startTime;
    }
    public Date getEndTime() {
        return endTime;
    }
    public Integer getIsTransfer() {
        return isTransfer;
    }
    public void setId(String id) {
        this.id = id;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    /*public void setTargetNetdiskAccessTokenId(String targetNetdiskAccessTokenId) {
        this.targetNetdiskAccessTokenId = targetNetdiskAccessTokenId;
    }*/
    public void setFileUri(String fileUri) {
        this.fileUri = fileUri;
    }
    public void setFileSize(String fileSize) {
        this.fileSize = fileSize;
    }
    public void setFileSavePath(String fileSavePath) {
        this.fileSavePath = fileSavePath;
    }
    public void setFileInfo(JSONObject fileInfo) {
        this.fileInfo = fileInfo;
    }
    public void setFileInfoString(String fileInfoString) {
        this.fileInfoString = fileInfoString;
    }
    public void setFileDownloadUrl(String fileDownloadUrl) {
        this.fileDownloadUrl = fileDownloadUrl;
    }
    public void setState(Integer state) {
        this.state = state;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public void setIsTransfer(Integer isTransfer) {
        this.isTransfer = isTransfer;
    }
    public NetdiskAccessToken getNetdiskAccessToken() {
        return netdiskAccessToken;
    }
    public void setNetdiskAccessToken(NetdiskAccessToken netdiskAccessToken) {
        this.netdiskAccessToken = netdiskAccessToken;
    }
    public String getCurrentSize() {
        return currentSize;
    }
    public void setCurrentSize(String currentSize) {
        this.currentSize = currentSize;
    }
    @Override
    public String toString() {
        return "OfflineDownloadTask [id=" + id + ", userId=" + userId + ", netdiskAccessToken=" + netdiskAccessToken
                + ", fileUri=" + fileUri + ", fileSize=" + fileSize + ", currentSize=" + currentSize + ", fileSavePath="
                + fileSavePath + ", fileInfo=" + fileInfo + ", fileInfoString=" + fileInfoString + ", fileDownloadUrl="
                + fileDownloadUrl + ", state=" + state + ", createTime=" + createTime + ", startTime=" + startTime
                + ", endTime=" + endTime + ", isTransfer=" + isTransfer + "]";
    }
}
